package com.zkq.graduate.service;

import com.zkq.graduate.pojo.Permission;
import com.zkq.graduate.pojo.Users;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.Optional;

/**
 * @Author zhangkaiqiang
 * @Date 2019/9/24  15:15
 * @Description TODO
 */
public interface UserService {

	/**
	 * 根据用户名查找用户信息
	 * @param id 用户id
	 * @return 用户信息
	 */
	Optional<Users> findUserById(int id);


	/**
	 * 更新用户信息
	 * @param users
	 * @return
	 */
	int updateUser(Users users);


	/**
	 * 根据学号/教师工号查找用户
	 * @param users
	 * @return
	 */
	Optional<Users> findUserByAccount(Users users);


	/**
	 * 根据手机号查找用户
	 * @param users
	 * @return
	 */
	Optional<Users> findUserByPhone(Users users);


	/**
	 * 查看用户所有的系统菜单权限
	 * @param request
	 * @return 权限集合
	 */

	List<Permission> getUserSystemPermission(HttpServletRequest request);


	/**
	 * 批量插入学生信息
	 * @param users
	 * @return
	 */
	boolean batchInsertUser(List<Map<String,String>> users);
}
